home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / liesmich.txt < prev    next >
Text File  |  1997-10-26  |  11KB  |  274 lines

  1. Dokumentation zu den Sourcen von CAT, FRED, CATPUTZ und der MagicLib 3.3
  2.  
  3. Diese Datei ist ein drftiger Ersatz fr die Programmierdoku zu allen
  4. oben genannten Programmen, denn eine richtige Doku gibt es nicht. In 
  5. dieser Datei wird beschrieben, wie man die Sourcen compilieren kann,
  6. was es an Besonderheiten zu beachten gibt, und wo man das MM2-System
  7. herbekommt.
  8.  
  9. Zuallerst ein paar allgemeine Sachen. Die gesammelten Sourcen zu CAT und 
  10. den anderen Programmen hierin unterliegen der CAT Public License, die
  11. als CATPL.TXT in diesem Paket enthalten ist. Wer neue Versionen von einem
  12. der Programme herausbringen will oder Žnderungen durchfhren will, muž
  13. diese Lizenz beachten. 
  14.  
  15. Die gesamten Sourcen zu CAT, CATPUTZ und FRED k”nnen nur gemeinsam 
  16. verteilt werden, da alle 3 Programme einige Module gemeinsam nutzen. Wenn
  17. man das aufteilen wollte in drei verschiedene Sourcearchive, w„re ein 
  18. Grožteil der Dateien mehrfach vorhanden. Daher gibt es nur dieses eine 
  19. grože Archiv. 
  20.  
  21.  
  22. 1. Wo erhalte ich das MM2-System
  23.  
  24. Das Megamax Modula-2 System ist inzwischen Freeware. 
  25. Erh„ltlich ist es ber die Homepage von Thomas Tempelmann, 
  26. http://www.muc.de/~tt/files-d.html#MM2
  27.  
  28. Man kann es auch direkt per ftp beziehen:
  29.  
  30. ftp://ftp.muc.de/mac/magicmac/Megamax_Modula-2_DevEnv.ZIP
  31.  
  32. Das Archiv ist ca. 3,1 MB grož und enth„lt neben der Entwicklungs-
  33. umgebung auch s„mtliche Sourcen dazu, also auch die zum Compiler,
  34. Editor, Linker und Library.
  35.  
  36. 2. Wie richte ich die MM2-Entwicklungsumgebung ein?
  37.  
  38. Wenn man ein MM2-System installiert hat, sollte man unter dem MM2-Directory
  39. folgende Directories einrichten:
  40.  
  41. CAT\
  42. PUTZ\
  43. MAGIC\
  44.  
  45. Man kann dazu einfach die Dateien aus diesem Archiv mit der gesamten
  46. Ordnerstruktur in das Stammverzeichnis vom MM2-System verschieben.
  47.  
  48. Anschliežend sind die entsprechenden Einstellungsdateien fr CAT, CATPUTZ
  49. und die MagicLib zu erstellen. Dies sind sowohl die M2P-Dateien, in der
  50. die Parameter der Shell eingestellt werden, als auch die M2B-Dateien,
  51. in der Pfade und Tools eingetragen werden. Passende M2B-Dateien liegen
  52. diesem Archiv bei. Diese mssen ggf. noch angepažt werden, die Anpassungen
  53. sollten aber minimal sein. 
  54.  
  55. Zum Erstellen einer M2P-Datei geht man wie folgt vor:
  56.  
  57. Einstellen der Shell-Parameter (Parameter/Shell)
  58.  
  59. Dort tr„gt man folgendes ein:
  60.  
  61. Make:      MM2MAKE
  62. Temp-Pfad: *\TMP
  63. Batchdatei: *\CAT.M2B
  64. Parameterdatei: <pfad>CAT.M2P
  65.  
  66. Dabei muž der Pfad zur Parameterdatei ein voll qualifizierter Pfad sein,
  67. also zum Beispiel D:\MM_21\CAT.M2P. Die anderen Parameter kann man 
  68. einstellen, wie es einem pers”nlich am besten gef„llt.
  69.  
  70. Einstellen der Editor-Parameter (Parameter/Editor):
  71.  
  72. Ich empfehle, als Editor FRED zu verwenden, den Editor aus dem CAT-Paket.
  73. Dieser arbeitet mit der MM2-Umgebung hervorragend zusammen. Dafr sind 
  74. folgende Einstellungen vorzunehmen:
  75.  
  76. Editor: Vollst„ndiger Pfad zu FRED, z.B: D:\MM_21\CAT\MOD\FRED.PRG
  77.  
  78. Die folgenden Schalter mssen gesetzt sein, die anderen nicht:
  79.  
  80. Shell durchsucht Source-Pfade fr den Editor
  81. Argumentzeile an Editor: Name der Source, Fehlerposition, Fehlermeldung
  82. Editor versteht SE-Protokoll
  83. Editor parallel starten
  84.  
  85. Dabei gehe ich davon aus, daž in dem MM2-Paket eine aktuelle Shell 
  86. enthalten ist, die das SE-Protokoll versteht!
  87.  
  88. Einstellen der Compiler-Parameter (Parameter/Compiler):
  89.  
  90. Die einzige Žnderung hier wird an den Direktiven vorgenommen, ansonsten
  91. kann alles beim Default bleiben. Bei den Direktiven ist folgendes 
  92. einzutragen:
  93.  
  94. Z+ S- F- /I40000
  95.  
  96. Damit wird bei einfachen Ergebnissen von Funktionen dieses in D0 zurck-
  97. gegeben, der Stackcheck ausgeschaltet, die FPU nicht benutzt und der 
  98. Bezeichnerstack auf 40000 Zeichen gesetzt. 
  99. Der Stack-Check muž ausgeschaltet sein, da ansonsten fehlerhafterweise bei 
  100. einigen Prozeduraufrufen innerhalb von CAT Stackfehler angemeckert werden 
  101. (die definitiv nicht auftreten), und der Bezeichnerstack muž erh”ht werden,
  102. da sonst MAUSTAUS.D, welches die Bezeichner der Resourcedatei einschliežt,
  103. nicht compiliert werden kann. Die Ergebnisrckgabe ber D0 wird aus 
  104. Geschwindigkeitsgrnden in CAT immer benutzt. Da diese Option auch teil-
  105. weise im Source gesetzt wird, ist sie auch hier zwingend.
  106.  
  107. Einstellen der Linker-Parameter (Parameter/Linker):
  108.  
  109. Dort muž man die Anzahl der Module fr CAT auf 200 einstellen, ansonsten
  110. ist CAT nicht linkbar. Als Stackgr”že muž man 16384 einstellen, mit weniger
  111. l„uft CAT wahrscheinlich nicht!
  112.  
  113. Der erste Treiber M2INIT muž zwingend enthalten sein, da dieses Modul 
  114. die MM2-Libraries initialisiert.
  115. Falls man Debug-Versionen erstellen m”chte, sollte man keine Optimierung
  116. einstellen und als Treiber GEMError.IMP eintragen. Ansonsten kann man
  117. vollst„ndige Optimierung anw„hlen und keine weiteren Treiber (aužer M2INIT)
  118. aktivieren.
  119.  
  120. Einstellen der Umgebungs-Parameter:
  121.  
  122. Unter Info/Umgebung kann man noch die Default-Makedatei eintragen. Dies
  123. sollte *\CAT\CAT.M2M sein. Dort sollte man auch als Stackgr”že fr das 
  124. Loadtime-Linking 16384 eintragen.
  125.  
  126. Nachdem man all diese Einstellungen vorgenommen hat, kann man nun die 
  127. Parameter speichern. Dabei werden diese in die unter Parameter/Shell 
  128. eingetragene Parameterdatei geschrieben, in diesem Beispiel also in 
  129. CAT.M2P.
  130.  
  131. Anschliežend kann man das gleiche auch noch fr die anderen ben”tigten 
  132. Parameterdateien vornehmen, die wir brauchen, also FRED.M2P, PUTZ.M2P und
  133. MAGIC.M2P. Dazu muž man nur unter Parameter/Shell die Batchdatei und die 
  134. Parameterdatei „ndern, dazu noch die Default-Makedatei unter Info/Umgebung, 
  135. und dann die Parameter speichern.
  136.  
  137. 3. Wie compiliere ich die MagicLib?
  138.  
  139. Im Ordner MAGIC existieren die folgenden 4 Dateien:
  140.  
  141. libdef.m
  142. toolsdef.m
  143. libimp.m
  144. toolsimp.m
  145.  
  146. Diese sind in dieser Reihenfolge zu compilieren. Dazu selektiert man diese 
  147. Dateien einfach, und drckt dann C fr Compile.
  148.  
  149. Nachdem man dieses durchgefhrt hat, kann man sich eine M2M-Datei 
  150. (Make-Datei) mittels ModRef ber die Datei MagicMak.M erstellen lassen.
  151. Dieses Modul benutzt alle Magic-Module, man kann dadurch dann sich eine 
  152. Make-Datei erstellen lassen, die nur noch die ge„nderten Sourcen compiliert.
  153.  
  154. 4. Wie compiliere ich CAT?
  155.  
  156. Zur erstmaligen Compilation von CAT gibt es eine Datei namens CAT.M2C.
  157. Diese Datei ist eine Batchdatei fr den Compiler, die alle Module
  158. von CAT compiliert. Vorher muž allerdings die MagicLib compiliert werden,
  159. ansonsten hagelt es Fehler.
  160. Zum compilieren selektiert man die Datei CAT.M2C und drckt C in der Shell.
  161. Wenn alles compiliert ist (kann je nach Rechner zwischen 5 Minuten bis 
  162. zu 1h (8MHz ST, gesch„tzt) dauern), kann man mittels des ModRef-Tools sich
  163. eine Make-Datei zu CAT erstellen lassen. Wenn man diese hat, muž man nur
  164. noch M in der Shell drcken, wenn man irgendwas ge„ndert hat, und alles
  165. wird entsprechend neu compiliert.
  166.  
  167. Die Resourcedateien von CAT liegen im MOD-Ordner. Im Gegensatz zu CATPUTZ
  168. ist die Resourcedatei von CAT fr Pascal definiert. Interface legt dann eine
  169. CAT.ICL-Datei an, die von dem Modul MausTauschrsc eingeschlossen wird. 
  170. Relevant ist immer die Datei von CAT, und wenn man Žnderungen an einer 
  171. Resource vornimmt, dann muž man diese Žnderungen auch an der anderen Resource
  172. vornehmen. Relevant sind nur noch CAT.RSC und CATCOL.RSC, die Resourecdatei
  173. CATMID.RSC wird zur Zeit nicht verwendet und ist daher auch nicht auf einem
  174. aktuellen Stand. Ich habe sie trotzdem im Archiv gelassen, damit jemand
  175. sie anpassen kann, falls er Interesse hat.
  176.  
  177.  
  178. 5. Wie compiliere ich CATPUTZ?
  179.  
  180. Zur erstmaligen Compilation von CATPUTZ gibt es eine Datei namens 
  181. CATPUTZ.M2C.
  182. Diese Datei ist eine Batchdatei fr den Compiler, die alle Module
  183. von CATPUTZ compiliert. Vorher mssen allerdings sowohl die MagicLib 
  184. als auch CAT compiliert werden, ansonsten hagelt es Fehler.
  185.  
  186. Zu beachten ist dabei, daž die Dateien mit den Definitionen der Resource
  187. im MOD\-Ordner liegen. Diese mssen auch compiliert werden, und zwar vor
  188. den anderen Modulen.
  189.  
  190. Sollte man die Resource-Datei „ndern, so muž die Definitionsdatei dazu
  191. auch neu compiliert werden. Dabei muž man dann die Kommentarklammern, 
  192. die Interface um die EXPORT-Liste setzt, entfernen, da diese in CATPUTZ
  193. ben”tigt wird (im Gegensatz zu CAT und zu FRED).
  194.  
  195. 6. Wie compiliere ich FRED?
  196.  
  197. Dazu muž man zuerst in der Datei EDITTYPE.D die Zeile 
  198.  
  199. CONST CAT = TRUE;
  200.  
  201. auf 
  202.  
  203. CONST CAT = FALSE;
  204.  
  205. „ndern. CAT sollte man schonmal compiliert haben, damit die meisten 
  206. Definitionsmodule vorhanden sind. Anschliežend compiliert man noch folgende
  207. Module:
  208.  
  209. MOD\FREDRSC.D
  210. MOD\FREDRSC.I
  211. PLISTHEL.D
  212. PLISTHEL.I
  213. FREDPROT.D
  214. FREDPROT.I
  215. FRED.M
  216.  
  217. Auch hierbei ist zu beachten, daž die Dateien mit den Definitionen der
  218. Resource im MOD\-Ordner liegen.
  219.  
  220. Anschliežend erstellt man mittels des ModRef-Tools eine Make-Datei fr FRED,
  221. die man dann dem MAKE vorwirft. Sollten beim ModRef noch andere Dateien 
  222. angemeckert werden, deren Definitionsmodule nicht gefunden werden, so mssen
  223. diese auch einmal per Hand compiliert werden.
  224.  
  225. Fr weitere Arbeiten an CAT ist danach die Konstante CAT wieder auf TRUE 
  226. zu setzen.
  227.  
  228. 7. Sonstige Besonderheiten
  229.  
  230. Im Source-Ordner von CAT sind einige Module, die auch so in der Library
  231. vom MM2-System enthalten sind. Dabei handelt es sich um die Module 
  232. GEMError.I, GEMScan.I, Storage.I und StorBase.I. GEMError und GEMScan sind
  233. Module zur Fehlerbehandlung, die ich so umgestellt habe, daž sie die 
  234. MagicLib benutzen und nicht mehr die MM2-GEM-Library. Dadurch wurden 
  235. unoptimierte Programme etwas kleiner, aužerdem wurden die Fehleralerts
  236. tastaturbedienbar. Bei Storage und StorBase handelt es sich um die 
  237. Speicherverwaltung vom MM2. Ich habe diese Module so modifiziert, daž sie
  238. sich nicht mehr in die Speicherverwaltung vom GEMDOS reinh„ngen und nicht
  239. mehr dauernd Aufrufe im Supervisormodus machen. Dadurch wurde die Speicher-
  240. verwaltung sauberer. Diese vier Module sind nicht zwingend in der Form,
  241. wie ich sie mitliefere, zu benutzen, man kann auch die MM2-Originale nehmen,
  242. aber meine sind besser, daher sollten sie benutzt werden.
  243.  
  244. In den Ordnern SRC\ und SYS\ befinden sich die Sourcen bzw. die 
  245. compilierten Module zum SE-Protokoll. Diese werden von FRED ben”tigt.
  246. Man kann diese Module einfach so in die entsprechenden Ordner des MM2-
  247. Systems kopieren (falls nicht vorhanden!). 
  248. Sollten Versionskonflikte angemeckert werden, so muž man dieses Modul
  249. vor der Compilation von FRED auch compilieren.
  250.  
  251. In der Datei CAT.M2D befindet sich die komplette Entwicklungshistory von
  252. CAT und auch FRED. Diese ist interessant, da man darin zumindest zum 
  253. Teil sehen kann, welche Module was machen.
  254.  
  255. Im Ordner DIST\ befinden sich die sonstigen Dateien, die zu einer CAT-
  256. Distribution geh”ren, also MausTausch-Scripte, die Fonts, das Datums-
  257. Programm und noch ein paar andere Texte und Dateien.
  258.  
  259. 8. Warum haben alle .D-Dateien das Datum 24.10. oder 26.10.?
  260.  
  261. Weil ich mich touch *.d alle Dateien modifiziert habe, um durch das Make 
  262. die Batchdateien zum erstmaligen compilieren zu generieren. Einen anderen
  263. Grund gibt es dafr nicht.
  264.  
  265.  
  266. So, das wars erstmal. Als Doku ist das sicherlich nicht zu gebrauchen,
  267. aber zum Einstieg sollte es so gerade reichen. Die Grundlagen und die 
  268. Bedienung vom MM2-System erkl„re ich nicht, dazu gibt es eine Anleitung
  269. (hoffe ich).
  270.  
  271. Zum Rest kann ich nur noch eines sagen: 
  272.  
  273.             Use the source, Luke!
  274.